package name.as3.cmdFrameworks.interfaces
{
import flash.display.Sprite;
import flash.interfaces.ISafeGlobalInitiator;
import flash.utils.SafeGlobalProxy;

public interface IFacade extends INotification_sender, ISafeGlobalInitiator
{
	/**
	 *
	 */
	function addCommand(strType:String, cCommand:Class):void;
	/**
	 *
	 */
	function removeCommand(strType:String, cCommand:Class):void;
	/**
	 *
	 */
	function hasCommand(strType:String):Boolean;
	/**
	 *
	 */
	function executeCommand(obNote:INotification):void;
	/**
	 * 添加扩展管理器
	 */
	function addManager(strType:String, obManager:IManager):void;
	/**
	 * 移除管理器
	 */
	function removeManager(strType:String):void;
	/**
	 * 获取管理器
	 */
	function getManager(strType:String):IManager;
	/**
	 * 获取面板管理器
	 */
	function get uiManager():IMediatorManagerDelegate;
	/**
	 * 设置容器时强制使用Sprite以增强扩展性
	 */
	function init(contApp:Sprite, sgDefault:* = null):void;
	/**
	 * 获取容器
	 */
	function get appContainer():Sprite;
}
}